This class maintains a stack of values. Not only can the type of object
inserted onto the stack be parameterized, but also the implementation of
the stack. Parameter TTTT represents the type of object in the stack, either
a class or built in type. The class TTTT must have:
well-defined copy semantics (TTTT::::::::TTTT((((ccccoooonnnnsssstttt TTTT&&&&)))) or equiv.);
well-defined assignment semantics (TTTT::::::::ooooppppeeeerrrraaaattttoooorrrr====((((ccccoooonnnnsssstttt TTTT&&&&)))) or
equiv.);
any other semantics required by class C.
PPPPeeeerrrrssssiiiisssstttteeeennnncccceeee
Parameter C represents the class used for implementation. Useful choices
are RRRRWWWWTTTTVVVVaaaallllOOOOrrrrddddeeeerrrreeeeddddVVVVeeeeccccttttoooorrrr<<<<TTTT>>>> or RRRRWWWWTTTTVVVVaaaallllDDDDlllliiiisssstttt<<<<TTTT>>>>. Class RRRRWWWWTTTTVVVVaaaallllSSSSlllliiiisssstttt<<<<TTTT>>>> can
also be used, but note that singly-linked lists are less efficient at
removing the last item of a list (function ppppoooopppp(((())))), because of the
necessity of searching the list for the next-to-the-last item. None
EEEExxxxaaaammmmpppplllleeee
In this example a stack of iiiinnnntttts, implemented as an ordered vector, is